package com.wman.sheep.common.application;

/**
 * 作者：王建 on 2016/4/26 16:43
 * 邮箱：wang1991jian@gmial.com
 * 描述：应用程序Activity管理器：用于Activity管理和应用程序退出
 */

import android.app.Activity;
import android.content.Context;

public interface ActivityManagerImpl {
    /**
     * 加入Activity（压栈）
     *
     * @param activity
     */
    void addActivity(Activity activity);

    /**
     * 获取当前（最后一个压栈）的Activity
     *
     * @return
     */
    Activity currentActivity() throws Exception;

    /**
     * 结束当前Activity（最后一个压栈）
     */
    void finishActivity();

    /**
     * 判断一个Activity 是否存在
     *
     * @param clz
     * @return
     */
    boolean isActivityExist(Class<?> clz);

    /**
     * 结束栈内所有的activity
     */
    void finishAllActivity();

    /**
     * 结束指定的Activity
     *
     * @param activity
     */
    void finishActivity(Activity activity);

    /**
     * 结束指定类名的Activity
     *
     * @param cls
     */
    void finishClass(Class<?> cls);

    /**
     * 退出程序
     *
     * @param context
     */
    void exitApp(Context context);
}